By the mid-1940's, computers stored programs in memories as instructions to fetch and execute. By the end of the 1950's the semiconductor revolution was well underway leading to the building blocks of computers becoming smaller, faster and more power efficient. These two fundamental innovations converged with the introduction of all-semiconductor computers by the early 1960's starting with Seymour Cray's CDC-1604, revolutionizing technology, commerce and culture.
The 1960's also saw the first multi-tasking operating systems as demonstrated by the Compatible Time-Sharing System at MIT, the first parallel processor, the Burroughs D825 in 1962, and the first supercomputer, the CDC 6600 introduced in 1964. But even then, Gene Amdahl predicted, in Amdahl's Law, a fundamental limitation to the performance of parallel processors.
Amdahl's Law states that if an algorithm can be decomposed into a parallelizable part that takes up a fraction P of the total time to execute the algorithm and a sequential part that takes up the remaining execution time, then the maximum performance improvement has an asymptotic limit of 1/(1−P) as the parallel part is driven to essentially 0. So if the algorithm is 90% parallelizable, then the maximum performance improvement is a factor of 10. Now, over forty years later, we see the limits he predicted every time we buy a quad core computer and do not get four times the performance of the replaced single core computer.
A somewhat lesser known conclusion is Pollack's Rule, which states that “microprocessor performance increase is roughly proportional to [the] square root of [the] increase in complexity, [which] contrasts with power consumption increase, which is roughly linearly proportional to the increase in complexity.” Complexity in this context means processor logic, i.e its area. The rule, which is an industry term, is named for Fred Pollack, a lead engineer and fellow at Intel.
Seymour Cray knew that for a computer to run as fast as possible, the entire system had to be fast, not just the CPU. Many approaches have been tried to maximize system performance and throughput, always running into the problem of Amdahl's Law. Significant advances in future computing performance require a new, fundamental approach to computer design.